#ifndef	_BSP_USART_H
#define	_BSP_USART_H
#include "stm32f10x.h"
#include <stdio.h>          //主要是为了使用printf(函数)
/************************和USART硬件有关宏定义，进而实现软件分层，软硬件分离   里面都是共用的*****************************/
//串口1-USART1
#define	DEBUG_USARTx					USART1                             //选择USART或UART外设的名称(USART1,USART2,USART3,UART4,UART5)
#define	DEBUG_USART_CLK					RCC_APB2Periph_USART1              //开启USART1时钟命令
#define	DEBUG_USART_APBxClkCmd			RCC_APB2PeriphClockCmd             //其实是一个函数名
#define	DEBUG_USART_BAUDRATE			9600                             //波特率配置

//USART1   GPIO引脚宏定义
#define	DEBUG_USART_GPIO_CLK			RCC_APB2Periph_GPIOA               //开启USART1所在的GPIOA端口的时钟
#define	DEBUG_USART_GPIO_APBxClkCmd		RCC_APB2PeriphClockCmd             //其实是一个函数名(便于替换)

#define	DEBUG_USART_TX_GPIO_PORT		GPIOA
#define	DEBUG_USART_TX_GPIO_PIN			GPIO_Pin_9
#define	DEBUG_USART_RX_GPIO_PORT		GPIOA
#define	DEBUG_USART_RX_GPIO_PIN			GPIO_Pin_10  

//USART1  中断相关 
#define	DEBUG_USART_IRQ					USART1_IRQn                        //中断请求号码
#define	DEBUG_USART_IRQHandler			USART1_IRQHandler                  //中断子程序名称

/***********************使用宏方便程序移植和升级**************************************/

#include <rthw.h>
#include <rtthread.h>
#include "stm32f10x.h"

int rt_hw_usart_init(void);
void	USART_SendByte(USART_TypeDef *  USARTx,uint8_t  ch);

#endif


